The present invention relates to a storage unit system for performing duplexing of data (backup of data) between a primary side control unit connected to a processing unit (host computer) and a secondary side control unit connected to the primary side control unit.
As a method for carrying out duplexing a data between primary side and secondary side control units, a method is generally known, by which primary side and secondary side control units are connected via an interface cable, and the primary side control unit issues a write request received from a processing unit to a secondary side control unit, and duplexing of data is carried out.
Further, a method for duplexing of data is known, in which a primary side system and a secondary side system each provided with a plurality (xe2x80x9cMxe2x80x9d and xe2x80x9cNxe2x80x9d in numbers) of control units respectively and a write request is issued from the processing unit to xe2x80x9cMxe2x80x9d primary side control units. This method is disclosed in J-P-A-No. 85408/1999.
Where the primary side system and the secondary side system each has a plurality (xe2x80x9cMxe2x80x9d and xe2x80x9cNxe2x80x9d in numbers) of control units, each of the primary side control units adds a write time indicating time of issuance of the write request to the write request received from the processing unit (host), and issues a write request to each of the secondary side control units connected via the interface cable. Then, the write data and the write time are transmitted to the secondary side control units. On the other hand, in the secondary side system, one of the plural secondary side control units is designated as a master control unit, and the designated master control unit and the other secondary side control unit are connected on one-to-one basis via data transfer route. The secondary side control units other than the master control unit transmit information relating to the write time (write time from the host to the primary side control unit) of the write data received from the primary side control unit to the master control unit on the secondary side. The master control unit refers to the information relating to the write information received from all of the secondary side control units (including the write time information of the master control unit itself) and determines guarantee time. Here, guarantee time is defined as xe2x80x9ca time, which can guarantee that all of the write data with the write time older than guarantee time (write time from the host to the primary side) on all of the secondary side control units have been received at all of the secondary side control unitsxe2x80x9d. Specifically, the determined guarantee time guarantees that all write data relating to all write requests issued from the processing unit to each of the primary side control units before the guarantee time have been received (already duplexed) at the secondary side control units. The master control unit notifies the determined guarantee time to all of the secondary side control units, and each of the secondary side control units can confirm that duplexing is guaranteed for the write data, which have write time older than the guarantee time. When this guarantee time is notified, even in case the data on the primary side is destroyed by some accident, for instance, the data from the primary side control unit received before the guarantee time can be utilized.
In the method as described above, in a system where primary and secondary side systems are provided with plural control units, guarantee time must be determined for the purpose of guaranteeing the duplexing of data and of using the secondary side data. In order to determine the guarantee time, communication must be performed twice for the secondary side control units other than master secondary side control unit, i.e. a communication for transmission of the information relating to the write time to the master control unit by each of the secondary side control units and a communication for notification of the guarantee time determined by the master control unit to each of the secondary side control units.
According to the method, process and communication for guaranteeing the duplexing of data are concentrated on the master control unit. Therefore, a problem arises in a system, which has a number of control units, i.e. communication performance and processing performance are decreased in the master control unit.
Further, in the method as described above, the master control unit must have functions and physical construction to perform communication with each of the other (Nxe2x88x921) secondary side control units. In particular, in case where there are many control units in the secondary side system, it is difficult that the master control unit has such functions and physical construction as to perform communication with all other secondary side control units.
Further, in the method as described above, for the case where trouble may occur in the master control unit, the functions as the master control unit should be dispersed to the secondary side control unit to give redundancy. In this connection, the functions and physical construction as the master control unit must be dispersed to each of the secondary side control units. This appears to be very difficult to accomplish.
To overcome the problems, it is an object of the present invention to decrease the number of communications between the secondary side control units and to achieve higher efficiency in the process to guarantee the duplexing of the write data.
It is another object of the invention to avoid concentration of the process to guarantee the duplexing of the write data on a single secondary side control unit, but to disperse the process to each of the secondary side control units.
It is still another object of the present invention to provide data duplexing means, which has no need to have a master control unit on the secondary side and which can achieve the duplexing of data even when there are many control units in the secondary side system (not influenced by the number of the control units in the secondary side system).
To attain the objects, the present invention provides a method for duplexing data in a storage unit system to carry out backup operation of data from a primary side system having one or more primary side control units to a secondary side system having one or more secondary side control units, the method having the steps of:
adding time information relating to a write time to a data of a write request and storing the information in a cache memory in the primary side control unit when there is a write request from a processing unit to the primary side control unit;
transmitting the stored write data and the time information to the secondary side control unit;
storing the write data and the time information to a cache memory in the secondary side control unit;
transmitting the time information stored in the cache memory in the secondary side control unit to another secondary side control unit via a communication route connecting the secondary side control units with each other;
comparing the time information of a first secondary side control unit received from a first primary side control unit with a time information transmitted from a second secondary side control unit, and transmitting an older time information to the next secondary side control unit via the communication route; and
circulating the older time information between the plural secondary side control units, and determining data guarantee time for guaranteeing duplexing of the write data between the plural secondary side control units.
The other methods for executing the present invention will be described in detail in DESCRIPTION OF THE PREFERRED EMBODIMENT as given below.